最近在研究 AI 進行 E2E 測試,我選擇 Microsoft 開發的 Playwright。它支援多瀏覽器(Chromium、Firefox、WebKit)、自動等待機制,還有一個很方便的錄製功能,可以直接操作網站產生測試腳本,搭配 Claude、Copilot、Gemini 又可以解省錄製、除厝的時間,本篇會簡單介紹我的使用方式。
在 ASP.NET Core 實作保護可匿名存取的 Web API
開發公開 API 時,防範惡意濫用是不可或缺的一環。本文將探討如何運用 ASP.NET Core 建構安全防護機制,為允許匿名存取的 Web API 提供堅實保障。

從 ASP.NET Core HybridCache 到瀏覽器端 HTTP Cache
續上篇 .NET 9 HybridCache 實戰,我們已介紹 Server\-Side 的快取架構(L1 記憶體快取、L2 分散式快取)。本篇將聚焦在 Client-Side 的快取機制(HTTP Cache):透過正確設定 HTTP 標頭,讓瀏覽器優先使用本地快取,降低伺服器負載並提升使用者體驗。
本篇會以實作程式碼示範各種 Cache-Control 指令的行為差異與適用情境。

Claude Code 通過 OpenSpec 實現規格驅動開發
- 5791
- 0
- Vibe Coding
在 Spec-Driven Development(SDD)逐漸被討論的今天,除了 GitHub 推出的 Spec-Kit,社群也出現了另一個有趣的專案 —— OpenSpec。
它的定位很清楚:用一份規格文件,驅動整個開發流程,並且盡可能保持「開放、可組合、可驗證」。
這篇文章會示範如何安裝與使用 OpenSpec,並分享我在實際操作時的心得。

.NET 9 的混合式快取 HybridCache
在現代 Web 應用程式開發中,快取是提升應用程式效能不可或缺的技術。在過去,我們會使用 IMemoryCache 做記憶體快取,或者使用 IDistributedCache 做分散式快取。
.NET 9 引入了全新的 HybridCache,它結合了記憶體快取(L1)和分散式快取(L2)的優勢,讓我們能夠在同一個 API 中享受兩層快取的效能提升,同時還提供了快取雪崩保護和標籤管理等進階功能。

.NET 9 的 Microsoft.AspNetCore.OpenApi:內建 API 文件生成與多樣化 UI 整合實戰
- 407
- 0
- API Specification
- 2026-01-10
ASP.NET Core 9,微軟終於把 OpenAPI 文件生成納入框架內建功能,推出了 Microsoft.AspNetCore.OpenApi。這代表我們不再需要額外的第三方套件,就能直接在專案中生成 OpenAPI 文件,並且支援最新的 OpenAPI 3.1 與 JSON Schema draft 2020-12。

Microsoft.Extensions.Http.Resilience 效能比較
這篇文章要分享我最近在研究 Microsoft.Extensions.Http.Resilience 與 Microsoft.Extensions.Http.Polly 的心得,特別是 Retry 策略 的使用方式與效能比較。
在 .NET 8 之後,微軟官方推出了新的 Resilience Handler,它內建在 Microsoft.Extensions.Http.Resilience 套件中,不再需要額外安裝 Polly 套件就能使用 Retry、Circuit Breaker、Timeout 等彈性策略。
Claude Code 通過 Spec-Kit 實現規格驅動開發
- 3670
- 0
- Vibe Coding
- 2025-09-23
GitHub 推出的 Spec-Kit 嘗試用 SDD(Spec-Driven Development) 的方式,把「規格 → 技術規劃 → 任務拆解」這條鏈路自動化,並且支援多種 AI CLI Agent,包括 Claude Code。
這篇文章會示範如何用 Claude Code + Spec-Kit,從零開始建立一個規格驅動的開發流程。

用 ASP.NET Core Web API 實作排隊系統
- 744
- 0
- Rate Limiter
- 2026-01-12
在高併發的 Web API 環境中,瞬間湧入的請求就像演唱會開賣時的粉絲潮水,沒有控管就會把系統直接「擠爆」。
這篇文章要分享一個我在 ASP.NET Core 9 專案中實作的 限流 + 排隊機制,它不只保護後端服務,還能讓用戶感覺到「公平」。

用 Claude Code Router 打造多模型 AI 開發環境
- 984
- 0
- Vibe Coding
- 2025-10-06
發現社群開源的 Claude Code Router(CCR),它可以在 Claude Code 的介面下,透過設定檔把請求路由到不同的 LLM 提供商,例如 OpenRouter、DeepSeek、Ollama、Gemini 等。
這篇記錄我用 CCR + OpenRouter 串接多家模型的過程與心得。
